package com.supplychainapi.dao.prod;


import com.supplychainapi.model.ScmTbstorage;
import com.supplychainapi.model.ScmTbstorageExtend;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 *
 * 仓库
 * @author:xiezhiwei
 * @email:xiezhiwei@niwodai.net
 * @date:2017-10-11
 *
 */
public interface ScmTbstorageMapper extends Mapper<ScmTbstorage> {

	/**
	 * 查询仓库列表
	 * @param fsShopGUID
	 * @return
	 */
	List<ScmTbstorage> getScmTbstorageListInfo(@Param("fsShopGUID")String fsShopGUID,@Param("fsStorageName")String fsStorageName, @Param("page")Integer page, @Param("pageSize")Integer pageSize);

	List<ScmTbstorageExtend> getTbstorageListInfo(@Param("fsShopGUID") String fsShopGUID, @Param("fsStorageName") String fsStorageName);

	/**
	 * 根据代码名称模糊查询
	 * @param fsShopGUID
	 * @param fsStorageName
	 * @return
	 */
	List<ScmTbstorage> getScmTbstorageLikeListInfo(@Param("fsShopGUID") String fsShopGUID, @Param("fsStorageName") String fsStorageName, @Param("page") Integer page, @Param("pageSize") Integer pageSize);

	/**
	 * 根据当前门店和仓库名判断是否重复
	 * @param fsShopGUID
	 * @param fsStorageName
	 * @return
	 */
	Integer getStorageDeDuplication(@Param("fsShopGUID")String fsShopGUID, @Param("fsStorageName")String fsStorageName);

	/**
	 * 删除仓库信息
	 * @param fsShopGUID
	 * @param fsStorageId
	 * @return
	 */
	Integer deleteStorageInfo(@Param("fsShopGUID")String fsShopGUID, @Param("fsStorageId")String fsStorageId);

	/**
	 * 更新仓库信息
	 * @param storage
	 * @return
	 */
	Integer updateStorageInfo(ScmTbstorage storage);

	/**
	 * 根据仓库代码和店铺GUID查询
	 * @param fsShopGUID
	 * @param fsStorageId
	 * @return
	 */
	ScmTbstorage getScmTbstorageByFsShopGUIDAndFsStorageIdInfo(@Param("fsShopGUID")String fsShopGUID, @Param("fsStorageId")String fsStorageId);

	/**
	 * 获取仓库最大值
	 * @param shopGuid
	 * @return
	 */
	String getMaxCode(@Param("fsShopGUID") String fsShopGUID);

	/**
	 * 选取仓库信息
	 * @param fsShopGUID
	 * @param fsStorageName
	 * @return
	 */
	List<ScmTbstorage> getChoiceStorageListInfo(@Param("fsShopGUID")String fsShopGUID, @Param("fsStorageName")String fsStorageName);

	/**
	 * 根据员工编号查询是否已绑定仓库
	 * @param fsStaffId
	 * @return
	 */
	Integer getStaffIdInfo(String fsStaffId);

	/**
	 * 仓库扩展信息
	 *
	 * @param fsShopGUID
	 * @param fsStorageId
	 * @return
	 */
	ScmTbstorageExtend getStorageExtendInfo(@Param("fsShopGUID") String fsShopGUID, @Param("fsStorageId") String fsStorageId);

}